Conversational question and answer

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for facilitating online conversation. In one aspect, a method includes determining that a user has submitted a question to be viewed by trusted participants of an online conversation, wherein the trusted participants include the user, one or more advertisers and one or more social network friends of the user, obtaining a reply to the question from one of the trusted participants, and providing the reply to the trusted participants.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/752,424, filed Apr. 1, 2010, the entire contents of which are herebyincorporated by reference.

BACKGROUND

This specification generally relates to online conversations.

Search engines provide search results in response to users' queries.While search results often get users ‘into the ballpark’ of theinformation that they desire, it is not uncommon for users to have toiteratively reformulate their search queries to find the exactinformation that they are seeking. Even after running multiple searchqueries, however, a user may still not locate this specific information.

SUMMARY

According to one innovative aspect of the subject matter described inthis specification, a user initiates an online conversation bysubmitting a question. The question is posed to parties with whom theuser is acquainted, as well as to paying third parties. The parties towhom the question is posed may respond with answers to the question orwith other comments, thereby providing conversational answering to theuser's question.

As used by this specification, an “online conversation,” (or “onlinediscussion,” “online chat”) refers to any appropriate kind ofsynchronous or asynchronous communication over the Internet or othernetwork, such as communication that occurs using a text-based groupchat, an Internet forum, a message board, or a web application orservice that manages user-generated content. The conversation may behosted by any appropriate platform that supports multi-partycollaboration.

The parties with whom the user are acquainted may include real people orvirtual entities, such as an ‘answer bot.’ The parties may be those withwhich the user has an online relationship, such as a social networklink, connection or friendship (collectively referred to by thisspecification as “social network friends”). Parties may be considered tobe social network friends when a one party identifies the other as anacquaintance, or when both parties mutually identify each other as anacquaintance.

The paying third parties, referred to by this specification as“advertisers” or “sponsors,” are parties that are expected to havespecial knowledge on a topic of the question, or parties that have paidfor the right to answer or otherwise comment on the question. Theadvertiser's replies may also be supplied by real people or by virtualentities. By answering questions in a conversational environment,advertisers are exposed to additional opportunities for generating leadsand for providing offers and customer service.

Collectively, the user, the parties with whom the user are acquainted,and the paying third parties are referred to by this specification as“trusted participants” of the online conversation. By excluding otherparties, such as the general public, from the conversation, thetechniques described herein provide a community-based framework thatlargely eliminates poor quality questions and answers.

In general, another innovative aspect of the subject matter described inthis specification may be embodied in methods that include the actionsof determining that a user has submitted a question to be viewed bytrusted participants of an online conversation, where the trustedparticipants include the user, one or more advertisers and one or moresocial network friends of the user, obtaining a reply to the questionfrom one of the trusted participants, and providing the reply to thetrusted participants. Other embodiments of this aspect includecorresponding systems, apparatus, and computer programs, configured toperform the actions of the methods, encoded on computer storage devices.

These and other embodiments may each optionally include one or more ofthe following features. For instance, the one or more advertisers may beparties that are expected to have special knowledge regarding thequestion, or parties that have paid to reply the question; the actionsmay include providing the question to the trusted participants only, ordetermining that the user has selected a control to submit the question,automatically restating one or more search query terms as a naturallanguage question in response to determining that the user has selectedthe control, and submitting the natural language question as thequestion to be viewed by the trusted participants; providing the replyto the trusted participants may include providing the reply to thetrusted participants only; the actions may include anonymizing thequestion, and providing the anonymized question to the one or moreadvertisers; the actions may include storing the question and the replyin a search engine index; the social network friends may be parties whoare acquainted through an online relationship with the user; and/or theactions may include determining a permission level associated with aparticular trusted participant, determining that the permission levelsatisfies a threshold associated with creating, editing, deleting, orapplying a label to the reply, and receiving information from theparticular trusted participant to create, edit, delete, or apply a labelto the reply based on determining that the permission level satisfiesthe threshold associated with creating, editing, deleting or applyingthe label to the reply, respectively.

In general, another innovative aspect of the subject matter described inthis specification may be embodied in methods that include the actionsof obtaining a search query, identifying, by a search engine, resourcesthat are responsive to the search query, where the resources includeinformation that references an online conversation in which a user hassubmitted questions to be viewed by trusted participants and one or moreof the trusted participants has replied to the question, and where thetrusted participants include the user, one or more advertisers and oneor more social network friends of the user, and providing informationthat identifies the resources for display. Other embodiments of thisaspect include corresponding systems, apparatus, and computer programs,configured to perform the actions of the methods, encoded on computerstorage devices. This and other embodiments may each optionally includethe actions of determining that the search query was initiated by theuser or by one or more of the social network friends of the user, whereidentifying resources that are responsive to the search query mayinclude identifying, in response to determining that the search querywas initiated by the user or by one or more of the social networkfriends of the user, the resources that are responsive to the searchquery.

The details of one or more embodiments of the subject matter describedin this specification are set forth in the accompanying drawings and thedescription below. Other potential features, aspects, and advantages ofthe subject matter will become apparent from the description, thedrawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are a diagrams that demonstrate conversationalquestioning and answering.

FIGS. 2 and 3 are flowcharts of example processes.

FIGS. 4 to 7 depict example user interfaces.

FIG. 8 is a schematic diagram of a system within which the variousfeatures described in this document may be implemented.

FIG. 9 is a block diagram of computing devices that may be used toimplement the systems and methods described in this document, as eithera client or as a server or plurality of servers

Like reference numbers represent corresponding parts throughout.

DETAILED DESCRIPTION

FIGS. 1A and 1B are diagrams that demonstrates conversationalquestioning and answering. The system 100 illustrated in FIG. 1Aincludes a client device 101 associated with a first user (“Bob”), aclient device 102 associated with a second user (“Jim”), a client device103 associated with an advertiser, a client device 104 associated with athird user (“Katie”), and a server 105. The server 105 hosts a searchengine and a web application or web service that allows users to conductonline conversations (e.g., online conversation 107, illustrated asconversation 107 a and 107 b in two time-sequenced states). The clientdevices 102 to 104 and the server 105 are connected by way of a network109 (e.g., a private network such as a corporate intranet, a publicnetwork such as the Internet, or some combination thereof).

The client devices 102 to 104 and the server 105 may be any appropriatetype of computing device or system that includes one or more processors,such as a laptop or desktop computer, a mobile telephone, a tabletcomputer, a personal digital assistant (PDA), or an embedded system. Theclient devices 102 to 104 and the server 105 may each include a displayfor outputting the text and/or graphics that make up the various userinterfaces used for performing conversational questioning and answering,and may each include input modules (e.g., a touch screen, a mouse, amicrophone, or a keyboard) for receiving user inputs.

The first user is attempting to identify a song that he has heard in atelevision commercial that includes actors that portray cavemen. Asillustrated in FIG. 1B, the first user attempted to identify the name ofthe song using a search engine (e.g., a search engine that is hosted bythe server 105), by initiating a search dialogue on the client device101 (e.g., by typing in a Uniform Resource Identifier (URI) associatedwith a search engine home page 150), entering the terms “song cavemanad” into a search box 151 on the search engine home page 150, andselecting a control 152 on the search engine home page 150 to initiatethe execution of a search query.

As used by this specification, a “term” (or “query term”) includes oneor more whole or partial words, characters, or strings of characters;and a “search query” includes the one or more query terms that the usersubmits to a search engine (i.e., server 105) when the user requests thesearch engine to execute a search. Among other things, a “result” (or a“search result”) of the search includes a URL (e.g., a Uniform ResourceLocator (URL)) that references a resource that the search enginedetermines to the be responsive to the search query. The search resultmay include other things, such as a title, preview image, user rating,map or directions, description of the corresponding resource, or asnippet of text that has been automatically or manually extracted fromor otherwise associated with the corresponding resource.

When the search engine executes a search using the query terms andgenerates search results, the search engine may infer that the firstuser may be unsatisfied with the search results, or that the user mightbe able to identify better information through an online conversation.For example, the search engine may infer that the first user will beunsatisfied with the search results if too many (e.g., more than 10,000,100,000, or 1,000,000) search results are generated, if too few (e.g.,fewer than 10, 100, 1,000) search results are generated, or if thesearch engine determines that questions that are related to the searchquery remain unanswered in several other open or closed conversations.Furthermore, the search engine may infer that the first user might beable to identify better information through an online conversation ifthe search engine is able to identify or select trusted participantsthat are experts in (or are at least knowledgeable of) the topic of thesearch query.

In the example illustrated in FIG. 1A, the search engine infers that thefirst user may be unsatisfied with the search results, or that the usermight be able to better identify specific, desired information throughan online conversation. For example, the search engine may infer thatthe user may be unsatisfied with the search results, since only twosearch results were produced by the search engine, or the search enginemay infer that the user might be able to identify better informationthrough an online conversation because several of the trustedparticipants have specialized knowledge in a topic associated with thequery terms. The process of establishing this inference is described inmore detail in connection with FIG. 1B, below.

A search engine results page 110 is generated by the search engine as aresult of executing the search query and inferring either that the firstuser may be unsatisfied with the search results, or that the user mightbe able to identify better information through an online conversation.The search engine results page 110 includes a search box 111 thatdisplays the query terms that were used to conduct the search, a SEARCHcontrol 112 for initiating a new search, a question entry field 113 forentering a question (or for viewing and editing anautomatically-generated question), a POST control 114 for initiatingconversational questioning and answering using the query terms (or aquestion that is associated with the query terms, such as a questionentered into the question entry field 113), and search results 115 and116. Although the first search result 115 (“Neanderthal Music”) and thesecond search result 116 (“Music Genes Make Caveman Sing”) appear to besomewhat relevant to the query terms, they do not provide the particularinformation that the first user is seeking, specifically the name of asong that is played in a television commercial that has actorsportraying cavemen.

The first user may have entered the query terms “song caveman ad,” underan incorrect assumption that the search engine would not be able toidentify any resources other than those which are related to the name ofthe “song” played in the “caveman ad.” Alternatively, the first user mayhave been aware that other resources might exist, but might haveexpected that the search engine would rank those web pages that relateto the name of the song in the caveman ad highest among all of thesearch results. Furthermore, the first user may have relied on thesearch engine to determine whether the user would be more satisfied withthe automatically-generated search results, or whether the user would bebetter able to identify particular information through an onlineconversation with trusted participants.

The search session provides results that are disappointing to the user.Accordingly, the search engine results page provides a starting pointfor the first user to initiate a conversation among a trusted group thatincludes his friends and paying third-parties, in order to collectivelyaddress a particular question. Such a conversation provides ancommunity-based approach to retrieve information that is difficult tolocate using a search engine or other automated application or platform.

Instead of restating the search query by altering the terms in thesearch box 111 and selecting the SEARCH control 112, the first user mayattempt to identify the name of the song by initiating a conversationwith the first user's social network friends and with unaffiliated thirdparties who, through their expertise, may be able to answer thisquestion. The search engine may suggest that the user initiate theconversation by including the question entry field 113 and the POSTcontrol 114 on the search engine results page 110. The onlineconversation 107 is initiated when the first user selects the POSTcontrol 114.

One or more questions are posed to parties with whom the user isacquainted, as well as to advertisers, all of whom may respond withreplies, answers or comments. The parties of the example onlineconversation 107 illustrated in FIG. 1A include the second user (“Jim”)and the third user (“Katie”), who in this example are real people withwhom the user has an online relationship, such as social network‘friend’ relationship. The parties also include the advertiserassociated with the client device 103. The advertiser is a party who thesearch engine has matched to the conversation based on an expectationthat the advertiser has special knowledge on a topic of the question, orbased on the advertiser paying for the right to respond to the questionor to otherwise participate in the online conversation 107. Othertrusted participants may also be included in the online conversation,such as other friends of the first user who are ‘lurking,’ by readingthe online conversation 107 but not posting replies.

The first user may or may not be aware of the identity of theadvertisers who will be participating in the online conversation 107when the first user initiates the online conversation 107. Instead, thefirst user may assume that advertisers who have special knowledge in thesubject of the question will be identified or matched to theconversation 107 by the server 105, and that those advertisers who areidentified will be allowed to participate in the online conversation 107as trusted participants.

Collectively, the user, the parties with whom the user are acquainted,and the paying third parties are considered to be the trustedparticipants of the online conversation 107. By excluding other partiesfrom the online conversation 107, such as members of the general public,the quality of the questions and answers are improved, aiding both theuser who submitted the question and the advertisers who may be paying toparticipate in the online conversation 107.

The online conversation 107 may be initiated with a question that theuser manually enters (e.g., into the search box 111 or the questionentry field 113 before selecting the post control 114). Alternatively,the question may initially not be phrased as a natural language questionbut, where the question is apparent from certain query terms (e.g., thequery terms “height of mount Everest”) or where the query terms canotherwise be mapped to a question, a natural language question may beautomatically generated from the query terms (e.g., by automaticallyappending interrogative terms such as “what is” or “how high,” or byadding, substituting or modifying articles, other terms, or punctuation)using any appropriate number of question generation or query revisionstrategies. The automatically generated question may be inserted intothe question entry field 113 for viewing or editing by the first user.In some implementations, the first user may choose to skip the action ofobtaining search engine results, and may proceed instead to initiateconversational question and answer through the search engine home page150 or another page.

The server 105 matches the question 119 with one or more advertisers(including the advertiser associated with the client device 103), andallows the advertisers that are identified in by the matching operationto participate in the online conversation 107. Matching questions withadvertisers who may be experts on a particular topic emphasizesnon-confrontational, conversational interaction between participants,providing the advertiser with a lead generation tool, a forum forcustomer service, and a repository for providing offers. Furthermore,the conversation benefits the advertiser by eliciting context orstructure about what the first user wants, where the elicited context orstructure might be more specific that the context or structure that thefirst user might otherwise provide in an initial sales inquiry or coldcall.

When more than one advertiser is selected by the search engine, thefirst user benefits because the question is propagated to multipleexperts, alleviating the first user of the burden of repeating theirsame question over and over. Furthermore, since the first user's friendsare participants in the conversation, the advertiser may feel additionalsocial pressure not to respond with misleading, spammy, or dishonestanswers or to tender unreasonable offers, lest the advertiser be ‘calledout’ by the first user's friends. In this regard, the first user mayfeel more confident in entering a business transaction with anadvertiser if none of the first user's friends call the advertiser outas being misleading, spammy, or dishonest, or if none of the user'sfriends publicly or privately remark to the first user that an offertendered by the advertiser appears to be a bad deal.

Matching the question with an advertiser may include, for example,matching keywords in the question 119 with a list of keywords or topicsthat are associated with the advertiser, such as a list of keywords thatare included on the advertiser's web page. Alternatively, matching thequestion with the advertiser may include comparing the question tosimilar questions that have been answered in the past, and identifyingadvertisers who have provided answers to the similar questions or whohave provided answers that have satisfied certain metrics as that areindicative of good answers. Alternatively, advertisers can reviewquestions in real time or review hypothetical questions before they aresubmitted, and bid against each other for the right to answer eachquestion. Further alternatively, questions can be matched with randomadvertisers, or with advertisers who have not answered questions for along period of time. Additionally, an advertiser may be matched to aconversation by another advertiser who is a trusted participant, and whorefers the question to the advertiser. Any other appropriate techniquefor matching questions with advertisers may be used.

The user interface 117 shows the online conversation 107 a in a stateafter the first user has submitted the question 119 and the second user,a social network friend of the first user, has posted a reply 120.Although the reply 120 posted by the second user does not answer thequestion 120, it continues the conversation 107 that has been started bythe question 119, and invites other participants to provide furthercomments. The user interface 117 may be generated by any appropriateapplication that hosts a text-based group chat, an Internet forum, amessage board, or a web application that manages content that issynchronously or asynchronously provided by different users.

The advertiser may be digital music seller, a company (e.g., aninsurance company) that is known for using cavemen in their televisioncommercials, or a third party entity that acts on behalf of the digitalmusic seller and/or the insurance company to answer questions that occurin online conversations. The advertiser may have been matched with thequestion 119 based on the keyword “song” or “cavemen” in the question119. Alternatively, the advertiser may have been matched with thequestion 119 because the advertiser had not answered a question is along period of time, or because previous replies posted by theadvertiser were rated highly by other past users.

As shown in user interface 121, the conversation 107 b may be anonymizedbefore it is shown to the advertiser. As referred to by thespecification, “anonymizing” refers to the process of removing name,contact (e.g., email address, phone number, screen names), or otheridentification information from the conversation, for example to preventor make it more difficult for the advertiser to directly contact theother participants in the online conversation. Anonymizing may benefitthe host of the online conversation, who may charge the advertiseradditional fees for the right to view the data that would otherwise beanonymized. Furthermore, anonymizing may also benefit the social networkfriends, who might feel reluctant to participate in the conversation ifthey believe that advertisers will contact them with unsolicitedinformation.

Anonymizing may occur after the host of the online conversation checks apermission level associated with an advertiser and determines thatadvertiser does not have a sufficient permission level to viewnon-anonymized versions of the online conversation. Because differentparticipants may have different permission levels, some of theadvertisers may be shown anonymized versions of the online conversation,while others may be shown non-anonymized versions. As shown in the userinterface 121, anonymizing of the conversation 107 b may occur byredacting the name of the conversation participants.

The advertiser may participate in the online conversation 107 b byposting a comment or reply to the question 119, or by asking anotherquestion. In user interface 121, the advertiser posts the reply 124,that includes an answer to the question (i.e., the name and artistassociated with “the song in the Caveman ad”). The reply 124 includes alink 125 that, when selected by another participant of the conversation,allows the participant to download the song for a fee. The reply 124also includes a link 126 that, when selected by another participant ofthe conversation, refers the participant to a web page for a dentalinsurance company, to obtain a quote. The answer benefits the firstuser, who obtains the information that they have unable to identify intheir past interactions with a search engine, as well as the advertiser,who receives additional exposure if any of the participants of theconversation 107 select the links 125 and 126. Even if none of theparticipants use the links 125 and 126 to make an immediate purchase,however, the posting of the reply by the advertiser may result inadditional intangible benefits if the participants begin to view theadvertiser as helpful and customer service oriented, or as being asubject matter expert. The advertiser may select another control on theuser interface to refer the question to another advertiser who is notcurrently participating in the conversation, to allow the otheradvertiser to become a trusted participant.

The various replies to the question 119 may be edited or deleted byusers that possess the appropriate permissions. Participants may alsoparticipate in the conversation by applying labels to (or “tagging”) thereplies to the question 119, such as when a user applies a “Like” labelto a reply that the user finds to be correct or particularly helpful.The online conversation 107 may continue until the participants ceaseposting additional replies or otherwise stop interacting with previouslyposted replies. The online conversation 107 may be stored in an archiveor index on the server 105, either in real-time before the conversationceases, or after a predetermined amount of time elapses after the lastcomment or reply is posted. The server 105 may, in conjunction withstoring the online conversation 107 in the archive, determine whetherthe question was answered based on whether replies to the question wereposted.

At a later time, the third user (“Katie”) may wish to identify the sameinformation as the first user had previously sought, and may enter thequery term “Dental Insurance Song” into the search box 127 of the userinterface 129. The search engine identifies the conversation 107 asbeing relevant to these query terms, and includes a search result 130that references the conversation 107 on the user interface 131. The factthat answers were posted to the question 119 in the conversation 107 mayaffect whether the conversation 107 appears among the search results,and may affect the ranking of the search result 130.

The conversation 107 may or may not be selected by the search engine asa search result, depending upon the relationship between the third userand participants of the conversation 107, or depending upon privacysettings applied to the conversation 107 by the participants. Forexample, the conversation 107 may only be selected by the search engineas a search result if the third user is a social network friend with thefirst user or the second user. Alternatively, if the third user is not asocial network friend with the first user or the second user, theconversation 107 may only be selected as a search result by the serverif the first user or the second user have applied a “public” label tothe conversation 107.

FIG. 1B is a diagram that demonstrates conversational questioning andanswering, focusing specifically on the aspect of determining, by asearch engine whether to suggest that a user initiate a conversationwith trusted participants to obtain an answer to a question. A user mayenter query terms into a search box 151 of a search engine home page150, and select a SEARCH control 152 to initiate the execution of asearch query using the entered query terms. The search engine may referto a pool 154 of candidate trusted participants, including socialnetwork friends 155 and 156 of the user and advertisers 158 and 159, andmay determine whether any of the candidate trusted participants may havespecial knowledge in a topic associated with the entered query termsand/or whether any of the candidate trusted participants would be likelyto provide answers that would be considered satisfactory to the user.

In the first example, shown at the top left of FIG. 1B, the user hasentered the query terms “song caveman ad.” The search engine maydetermine, from information that the users 155 and 156 and theadvertisers 158 and 159 have opted to provide to the search engine, thatthe user 155 has an association with the topic “music,” which matcheswith the query term “song,” and that the advertiser 158 has anassociation with the topic “caveman mascot,” which matches with thequery term “caveman.” The search engine can also check a rating of theadvertiser 158 which, at “ 7/10,” may be greater than a predeterminedthreshold. Since the search engine has identified two candidate trustedparticipants that may have special knowledge of the topic of the enteredquery terms, the search engine determines that an online conversationmay be beneficial to obtaining an answer to the user's question.Accordingly, the search engine includes a question entry field 113 and aPOST control 114 on the search engine results page 110. The searchengine may use other information to determine whether the onlineconversation may be beneficial, for example, the small number (i.e.,only two) of search results that were identified as being relevant tothe entered query terms.

In the second example, shown at the bottom left of FIG. 1B, the user hasentered the query terms “Car 80's Detective Show Hawaii Mustache Guy” inorder to determine the type of car driven by a certain televisiondetective with a mustache, in a certain 1980's television show that wasset in Hawaii. The user may have entered this query, for example, inorder to find a dealer who sells a similar car, or a toy store thatsells a model of the car.

Based on these entered query terms, the search engine may determine thatneither of the users 155 or 156 are associated with any of topic thatcorresponds to the query, but that advertiser 159 has an associationwith the topic “autos,” which matches with the query term “car.” Thesearch engine checks the rating of the advertiser 159 which, at “ 1/10,”may be less than a predetermined threshold. That information, combinedwith data that indicates that the advertiser 159 has posted aninordinately large number of replies, causes the search engine todetermine that it would not be beneficial to have a conversation withthe advertiser 159 as a trusted participant. Since candidate trustedparticipants of the pool 154 have been selected by the search enginebased on the entered query terms, the search engine generates a searchengine results page 160 that includes results 161 to 163, but that doesnot include a question entry field or a POST control to initiate anonline conversation.

Finally, it should be noted that the search engine may still suggestthat the user initiate an online conversation even if it identifies onlysocial network friends, or only identifies advertisers. If only socialnetwork friends are identified, the online conversation may be initiatedwithout including any advertisers as trusted participants. If onlyadvertisers are identified, the online conversation may be initiatedwith the identified advertisers and with the social network friends ofthe user as trusted participants.

FIG. 2 is a flowchart of an exemplary process 200. Briefly, the process200 includes the actions of determining that a user has submitted aquestion to be viewed by trusted participants of an online conversation,where the trusted participants include the user, one or more advertisersand one or more social network friends of the user, obtaining a reply tothe question from one of the trusted participants, and providing thereply to the trusted participants.

In more detail, the process 200 begins (201) when a user submits aquestion or information request (202). The user may submit the questionto be viewed by trusted participants only, or the user may submit thequestion to be viewed by trusted participants and non-trustedparticipants. Submission of the question may occur after the userattempts to use a search engine and either fails to locate the answer orfinds the search experience to be generally unsatisfying, or after thesearch engine infers that an online conversation may be beneficial toobtaining an answer to the question. The question can be submitted fromany source, such as a product search page or a social media website.

The trusted participants may include the user, one or more advertisers,and one or more social network friends of the user. Alternatively, thetrusted participants may include just the one or more advertisers andthe one or more social network friends, or just the one or more socialnetwork friends and the user. Further alternatively, the trustedparticipants may include the user, one or more advertisers, one or moresocial network friends, and one or more other people or entities who areneither advertisers nor social network friends.

The one or more advertisers may be parties that are expected to havespecial knowledge regarding the question, parties that have paid for theright to reply the question, or parties that are otherwise matched tothe question by a search engine or by other trusted participants Thesocial network friends may be parties who are acquainted through anonline relationship with the user, such as Facebook ‘Friends,’ Buzz orTwitter ‘Followers,’ or Linked-in ‘Connections.” The question may besubmitted when the user selects a submission control that may, forexample, appear on a search engine home page or results page.

FIG. 4 illustrates a search engine results page 401 that is generated bya search engine upon executing a search query that uses query terms 402(“flowers that look like birds”). Although search results 404 and 405relate to the term query terms 402, the search results 404 and 405 donot answer the question that is inferred by the query terms 402,specifically the question “What is the name of the flowers that looklike birds?”

The submission control 406 allows the user to submit a question that isentered into text entry field 407 or that is automatically generatedbased on the query terms 402. The submission of the question initiates aconversation among the user's followers 409 (e.g., social networkfriends), and trusted experts 410 (e.g., advertisers). Using the dropdown menu 411, the user may alter settings to allow other, non-trustedparticipants to participate in the conversation, or that allow other,non-trusted participants to view the conversation if the search engineidentifies it as being relevant to their subsequent search query.

FIG. 5 illustrates a portion 501 of the search engine results page 401,in a state where the user has entered questions 502 (“What's the name ofthose orange and purple flowers that look like birds? Where can I buythem?”) into the text entry field 407. Each of questions 502 may be anatural language question that is formulated by the user and manuallyentered into the text entry field 407, or each of the questions 502 maybe automatically formulated before or after the submission control 406selected. The user submits the questions 502 by selecting the submissioncontrol 406, thereby initiating the conversation.

The questions are shown to the people or entities that are identified astrusted participants of the conversation. For instance, the socialnetwork friends of the user may view the question in their respectivesocial media stream. Identifying a person or entity as a trustedparticipant may involve choosing an advertiser to which a particularquestion should be routed, for example by identifying an advertiser whohas particular expertise in the subject matter of the question.

Replies to the question may be obtained from the trusted participants(204). The replies may include answers to the question or any othercomments that may occur in a conversation. For instance, a participantmay post a reply that does not relate to the topic of the question, ormay post a different question that may cause other advertisers to bematched to the conversation.

Replies are posted by social network friends and by advertisers thathave paid to gain response rights for a particular topic or question(205). Parties may be able to view some or all other comments, howeverthe various participants may have different privileges providingownership over creating, ‘liking,’ and deleting comments, as well asvisibility privileges regarding of user identifying information or usercontact information.

FIG. 6 illustrates a user interface 601, which displays the questions502 and the replies 602 to 609 to the question. The replies 602 to 609include replies 602 and 604 from a social network friend of the user(“Joshua”), replies 603, 606 and 609 from the user (“Emily”), andreplies 607 from an advertiser (“Daniel”) is knowledgeable in the topicposed by the question 502. The question 502 and the replies 602 to 609are displayed in a conversation region 610 of the user interface 601,which is located adjacent to a text entry region 611. The text entryregion 611 includes a text entry field 612 for allowing the user tosubmit additional questions or to post replies to a question.

The advertiser benefits from the conversation, since he can review thetext of the questions 502 and replies 602 to 604, 606, and 609 in orderto more fully understand the context or structure of the user's want.Such information provides valuable insight to the advertiser that may beused to generate leads with the user or the social network friends ofthe user, based on their replies.

Furthermore, the user benefits from the conversation. Specifically,since the user's friends are participants in the conversation, theadvertiser may feel additional social pressure not to respond withmisleading, spammy, or dishonest answers or to tender unreasonableoffers. For example, the advertiser may be more guarded about makingclaims about their product (i.e., “flown in from Kauai twice a week”) ifknows that the claims will be viewed and compared by multiple people whohe might not be able to identify. In this regard, the user may feel moreconfident in entering a business transaction with the advertiser whennone of the user's friends chime into the conversation to indicate thatthe advertiser may not be telling the truth, or that the advertiser isotherwise not worthy of the user's business.

Different participants of the conversation may have different permissionlevels that control whether the user is allowed to add, edit, delete,apply labels to the questions or replies in a conversation, or todesignate other parties that are not currently participating in theconversation as trusted participants. In FIG. 6, for example, the userhas a sufficient permission level to edit the questions 502 and thereplies 603, 606 and 609 using edit links 614 to 617, respectively, andto apply a “Like” label to the conversation or to the question or thereplies, using “Like” link 619. The user does not have a sufficientpermission level to edit other replies.

The question and any replies to the question may be anonymized beforethey are viewed by some or all of the trusted participants. For example,the conversation may be anonymized to remove information that identifiesthe participants of the conversation, before it is shown to anadvertiser. If a participant has a sufficient permission level, forexample if they have purchased the right to view non-anonymizedconversations, the conversation may be viewed by the participant withoutbeing anonymized.

The question, the reply and/or any other information relating to theconversation are stored in a search engine index, thereby ending theprocess 200 (207). Questions and responses are collected are indexed sothat they can be reused in future search requests. This could take theform of learning more fully-formulated queries from traditional queriesas well as resurfacing the content collected by thoughtful responses tosimilar requests in indexed landing pages

FIG. 3 is a flowchart of an exemplary process 300. Briefly, the process300 includes the actions of obtaining a search query, identifying, by asearch engine, resources that are responsive to the search query, wherethe resources include information that references an online conversationin which a user has submitted questions to be viewed by trustedparticipants and one or more of the trusted participants has replied tothe question, and where the trusted participants include the user, oneor more advertisers and one or more social network friends of the user,and providing information that identifies the resources for display.

The process 300 begins (301) when a search query is obtained (302). Thesearch query may be obtained when a user enters query terms in a searchbox, such as a search box on a search engine home page or search engineresults page.

A search engine may identify resources that are responsive to the searchquery (304). The resources include information that references an onlineconversation in which a user has submitted questions to be viewed bytrusted participants and one or more of the trusted participants hasreplied to the question. The trusted participants may include the user,one or more advertisers and one or more social network friends of theuser.

Information that identifies the resources is provided for display (305),thereby ending the process (306). The information may include one ormore search results that include a Uniform Resource Locator (URL) thatreferences a conversation, the question, description of thecorresponding resource, or a snippet of text that has been automaticallyor manually extracted from or otherwise associated with thecorresponding resource

FIG. 7 illustrates a user interface 701, which is a search engineresults page that is generated by a search engine after executing asearch query that uses the query terms 702 (“flowers that look likebirds”). In addition to identifying search results 704 to 706, whichreference web resources that are relevant to the query terms 702, thesearch engine identifies search result 707, which references theconversation that is illustrated in FIG. 6. The online conversation mayonly be identified by the search engine if the user that initiated thesearch query is a social network friend of the user. Accordingly, theconversation may not appear as a search result for another user who isnot a social network friend of the user, and who submits the same searchquery.

FIG. 8 is a schematic diagram of a system 800 within which the variousfeatures described in this document may be implemented. In general, thesystem 800 permits various users to post, review, and comment on variousactivity streams of information, within a social networking framework.For example, a user may make a micro-blogging post about a recenthappening in the user's life or about a news article the user recentlyread. That post may be forwarded to other users who have chosen tofollow the first user (who may be an individual or an organization).Those other users may see the post using a stream reader, or the postmay be displayed in their email applications (e.g. either in line withtheir regular email messages or under a separate tab). Those users maychoose to comment on the post, and other users may also comment on thepost or comment on the comments of other users. Such comments may beincluded and shown in the various users email application even if theywere made after the post was originally connected to the emailapplication. Thus, the various types of feedback may be made availableto each user conveniently in one place. Users may also see posts relatedto other users my visiting profile pages for those other users, and mayalso go to their own profile pages or to their stream pages to see allof the posts and comments for posts to which they are subscribed.

The various posts, and comments on posts, are managed in the system 800by an activity streams backend 802, which is in charge of implementingbusiness logic that defines the manner in which various submissions tothe system 800 will be handled. The activity streams are characterizedby activities, which are the subjects of posts (e.g., micro-blog posts)that users submit to the system 800, and various comments directedtoward those activities. For example, a user may post an activityregarding a web page they are currently viewing by pasting a URL of thepage into a posting page. Such action may cause the system 800 to gatherimportant information from the URL, including images displayed on thepage, headings, labels for images, or topical terms that describe atopic of the page (e.g., as previously determined by analysis of thewords on the page, such as using ADSENSE analysis of the page). Thesystem 800 may also obtain location information, such as the currentlocation of the user, and/or a venue with which the user is mostcurrently associated (e.g., that the user checked into recently oridentified as a venue in which the user is located).

The activity streams back-end 802 also implements logic for determiningwhat users are to receive posts, comments on posts, and other portionsof streams in the system 800. In particular, users who have subscribedto receive posts form other users may be provided with posts when theylog into the system 800, users may nominate other users to receivecopies of streams when those other users would not ordinarily beincluded in the streams (e.g., by typing in identifiers for those otherusers when reviewing a post), and users may send streams directly toeach other, among other things.

The feed reader back end 804 manages storage of posts and related datafor the system 800. The feed reader back end 804 may rely on variouslevels of activity storage 846 to store posts, comments, on posts, andother information needed to construct streams for users when theyrequest information from system 800. As with the other components shownin this figure, the feed reader back end 804, though shown as a singleblock, can be implemented using a number of different servers or serversub-systems. Likewise, the activity storage 846 can be implementedacross a number of databases and database types, and across a variety ofservers and server sub-systems.

When posts or other updates are received by the activity stream back-end802, they are formatted and provided to update pump 808. The update pump808 is responsible for provided notices about newly-posted informationto various services that may need such information. It acts, in effect,as a router and distributor of information relating to the system 800.For example, a mail server 814 may include functionality for integratingthe display of streams, and may thus need to know about new posts sothat users of a mail client can be shown immediately when newinformation is posted. In a similar manner, a search engine 830 mayprovide search results to users that include real-time updatinginformation from various posts that users are supplying to the system,and can receive such updated information by interacting with the updatepump 808 via understood APIs and remote procedure calls (RPCs) where thetwo components are sub-components of a larger organization-wide system.

Various web front-ends are provided to permit the system 800 communicateover a network 806, such as the internet (and adjacent supportingnetworks). For example, the mail server 814 may provide typicalweb-based electronic mail functionality, though with the integration ofposts and comments into users' in boxes, via a mail client 820. Forexample, streams may show up as discrete messages in user's in box, andmay be updated in real time to include the latest comments on thestreams and originating posts for the streams. Such content may beactive, in that a user may be allowed to interact with it substantiallyto a level that they could if they were reviewing the streams in adedicated stream reader. For example, selectable controls may beprovided with a stream that is displayed by the email client 820, and auser may choose one in order to post a comment to be added to a stream,without having to leave the context of the message within the emailclient 820.

A profile server 810 generates code for representing user profiles suchas profile 822 of user Joe Blow. The profile page may take the form of astandard feed page from a social networking site, arranged with a listof posts and comments from other users in reverse chronological order.In a similar manner, an activities front end 812 can generate a similarfeed for a user's feed page 824, here for a user named Susie User. Theprofile page 822 and the feed page 824 may be very similar to eachother, and can present content similar to that presented as part of aposting or micro-blogging section of mail client 820. In one example,the profile page 822 is what third parties see when they look at theuser's account, while the feed page 824 is what the user himself orherself sees.

A search engine 830 and associated search front end 818 may provide adifferent sort of functionality for the system 800. Specifically, thesearch front end 818 may allow users to provide posts or comments fromnon-traditional sources, such as search boxes, e.g., on a search webpage or in a search box on a toolbar installed on their machines anoperating in concert with their web browsers. Such posts or comments maybe submitted by users and may be received by the search front end in astandard manner, just as search requests are. The intent of a user tosubmit a post rather than a search query (or in addition to a searchquery) may be determined by syntactical analysis of the submission. Inone example, if a query is preceded by the letter “z”, with a spaceafter it (screen 828)—a construct that is seldom submitted as a realsearch query—the system may parse the submission apart and assume, fromthe syntax, that the user intends to post the remainder of the submittedquery as a post to their social network.

Such a post may be made immediately or after confirming with thesubmitting user that they would like to make a posting. For example, asearch results page 826 may be generated that contains actual searchresults for the submitted query (whether with or without the preceding“z”) generated by the search engine 830 using data from index 838 in aconventional manner, and may be displayed below an area that shows theuser the form of a proposed post and selectable controls by which theuser can edit the post and can then confirm an intent to post theinformation to friends, followers, or others. The post may then beforwarded by the search front end 818 to the activity streams backend802, along with identifying information for the user (e.g., a user IDidentified from a cookie on the user's computing device when the user islogged onto a broader service that implements the system 800).

Other syntax submitted by a user may produce different results. Forexample, if a user enters an email address (e.g., of the form“name@domain.com”), the system may identify that syntax as indicating anintent to send the remaining text of the submission as an email messageto the user at the provided email address. Likewise, if the user startsa submission with a control character followed by a communication modeidentifier, the remainder of the submission may be submitted for postingin tat communication mode, either without or without first presentingthe proposed action to the user and confirm that the user intends such acommunication to occur. For example, if a user types “z blog I'm havinga great time,” the syntax may indicate to the system 800 that the userwould like to post the submitted phrase “I'm having a good time” to theuser's blog (where the identity of the blog may be determined by thesystem 800 using a user ID stored as a cookie on the user's computingdevice, and which can be correlated to an account for the user that isin turn correlated to the blog).

The search results and other information (e.g., posts and emailmessages) may be accompanied by targeted advertisements directed to thesearch query or other similar information, such as profile information,the text of posts or comments by a user, the text of posts or commentsof users who have a relationship with a user (e.g., as friends,followers, or users that the first user follows). Such advertisementsmay be served, through the search front end 818, or the other front ends810, 812, 814 to users of the system 800 and may be targeted usingtechniques like those employed in GOOGLE ADWORDS OR ADSENSE. Suchserving of advertisements may depend on ad data in database 834, whichmay include information about advertisers, the text and other contentfor the advertisements, bid prices submitted by the various advertisers,and other relevant information needed to serves advertisements that aredirected to users and/or streams of information directed from or to theusers.

Various location-based services may be integrated with posts orcomments, such as by identifying the locations (e.g., lat/longcoordinates) or venues (e.g., stores, arenas, bars, or restaurants) fromwhich posts or comments are made. Such services are provided in thisexample system 800 by a location server 842 and geo service 844. Thelocation server 842 generally provides information about venues or otherlandmarks in response to receiving location information about a user ofsystem 800. For example, when a user submits a post, geo-coordinates forthe user may be provided with the post (e.g., via GPS functionality onthe user's mobile computing device) or may be determined for the user bythe system 800 (e.g., via cell tower or access point identification ortriangulation). The geo-location information may be an estimatedlatitude and longitude of the mobile computing device and informationidentifying an accuracy of the estimation. The location server 842 maybe made available through an API to various other components of thesystem 800.

The location server 842 may use such geo-location information toidentify one or more venues (e.g., stores, restaurants, or bars) in thegeneral location of the user, may use proximity of the user to eachvenue and other signals (e.g., popularity of each venue as determinedfrom search queries submitted with the venue name, check-ins at thevenue by users of the system 800, a volume of activity associated withposts from the venue, a reputation of a post's author, for example,through number of subscribers, a volume of comments on posts, or asimilarly determined reputation of the subscribers) to provide a rankedlist of venues in the geographic area that the user may be in. The usermay be presented with a single suggestion for a venue or severalsuggested venues. The user may then select one such venue, and thatvenue may be associated with the post when other users review it. Forexample, the post may be accompanied by meta data indicating that thepost was “Posted from Dive Bar,” and other users may select the name“Dive Bar” to see additional information about the venue, includingother posts from the venue, ratings of the venue, streams that belong tothe venue (e.g., if a manager of the venue has made the venue a user ofthe system 800) and other similar information.

The location server 842 may obtain information that it needs to providesuch functionality from various external services, such as geo service844. Geo service 844 may be a service that communicates via standardAPIs to receive location information (e.g., lat/long coordinates) and toprovide more advanced information in response. The more advancedinformation may include a street address that is determined to beassociated with the lat/long coordinates (e.g., a street address that isnearest to a particular location represented by the lat/longcoordinates). The more advance information may also include a list ofvenue names that are geographically near the particular location, streetaddresses for the venues, descriptive information for the venues, maptiles that are associated with the particular location, and a relevancescore for each venue. The relevance score for each venue may identifyhow relevant the particular venue is based on any appropriatecombination of (i) the received location information, (ii) an accuracyof the received location information, and (iii) a distance between thevenue and a location identified by the received location information.

Other components may interact with the components already described toprovide additional functionality foe the system 800. For example, acrawler 850 may crawl various posts and comments for the purpose ofindexing the content in the system 800, so that, for example, searchengine 830 may readily deliver search results that include the latestpostings by users to the system 800. Also, spam server 848 maycommunicate with the activity streams backend 802 and/or the update pump808 to identify posts or comments that may be inappropriate (e.g.,offensive, abusive, or otherwise inappropriate), duplicative, deceptive(e.g., in which one user poses as another user), and to actappropriately with respect to such content (e.g., providing forautomatic and/or manual review of the content and perhaps removing thecontent from the system 800 or making the content hidden).

Finally, a recommendation server 840 may be provided with any newactivity or post that is submitted to the system 800 (e.g., via theactivity streams back-end 802). The recommendation server 840 may writeback to the activity streams backend 802 about the number of people whoshould receive the activity. Such information may be saved so that thenext time a message is sent out about the activity (e.g., a comment onthe activity), the new recommended users also get the activity. Aquality score can be computed when determining what users should receivean activity, and the score can be determined by factors such as thedistance of relationship between a user and other users who have postedto or recommended an activity, interests of a user as identified in theuser's profile (e.g., the user is a member of a classic cars group in asocial network, and thus is more likely to receive notices aboutactivities relating to classic cars), or interests as identified byposts or other submissions that the user makes, users or activities thatthe user follows, and the like. A quality threshold may be set by therecommendation server 840 in order to maintain an adequate level ofrecommendations (not too many and not too few).

Using the components described here, then, the system 800 may providedfor integration of various modes of posting and receiving content thatis provided in streams, such as micro-blog posts and comments on suchposts. Users may post in various ways, including directly into searchboxes on search pages or toolbars, so that such users may be moretightly integrated into systems provided by the providers of the pagesor toolbars, and may provide posts in contexts with which they arealready very familiar. Also, the users may review posts and othercontent in their email client, also in a manner that is already familiarto them and does not require them to leave a familiar application inorder to review such posts. Moreover, the content may be rich for theusers, such that it may include information about locations and venuesat those locations (from which a reader of the content may obtainadditional information, such as from hyperlinks provided in posts), andthe users may respond to posts in-line, such as from their emailapplications. In all these, ways the system 800 may provide acommunication facility that allows a user simpler and more completeinteraction with friends and with other users, and may increase thelevel of knowledge that is made available to the users of the system800.

FIG. 9 is a block diagram of computing devices 900, 950 that may be usedto implement the systems and methods described in this document, aseither a client or as a server or plurality of servers. Computing device900 is intended to represent various forms of digital computers, such aslaptops, desktops, workstations, personal digital assistants, servers,blade servers, mainframes, and other appropriate computers. Computingdevice 950 is intended to represent various forms of mobile devices,such as personal digital assistants, cellular telephones, smartphones,and other similar computing devices. Additionally computing device 900or 950 can include Universal Serial Bus (USB) flash drives. The USBflash drives may store operating systems and other applications. The USBflash drives can include input/output components, such as a wirelesstransmitter or USB connector that may be inserted into a USB port ofanother computing device. The components shown here, their connectionsand relationships, and their functions, are meant to be exemplary only,and are not meant to limit implementations described and/or claimed inthis document.

Computing device 900 includes a processor 902, memory 904, a storagedevice 906, a high-speed interface 908 connecting to memory 904 andhigh-speed expansion ports 98, and a low speed interface 912 connectingto low speed bus 914 and storage device 906. Each of the components 902,904, 906, 908, 98, and 912, are interconnected using various busses, andmay be mounted on a common motherboard or in other manners asappropriate. The processor 902 can process instructions for executionwithin the computing device 900, including instructions stored in thememory 904 or on the storage device 906 to display graphical informationfor a GUI on an external input/output device, such as display 916coupled to high speed interface 908. In other implementations, multipleprocessors and/or multiple buses may be used, as appropriate, along withmultiple memories and types of memory. Also, multiple computing devices900 may be connected, with each device providing portions of thenecessary operations (e.g., as a server bank, a group of blade servers,or a multi-processor system).

The memory 904 stores information within the computing device 900. Inone implementation, the memory 904 is a volatile memory unit or units.In another implementation, the memory 904 is a non-volatile memory unitor units. The memory 904 may also be another form of computer-readablemedium, such as a magnetic or optical disk.

The storage device 906 is capable of providing mass storage for thecomputing device 900. In one implementation, the storage device 906 maybe or contain a computer-readable medium, such as a floppy disk device,a hard disk device, an optical disk device, or a tape device, a flashmemory or other similar solid state memory device, or an array ofdevices, including devices in a storage area network or otherconfigurations. A computer program product can be tangibly embodied inan information carrier. The computer program product may also containinstructions that, when executed, perform one or more methods, such asthose described above. The information carrier is a computer- ormachine-readable medium, such as the memory 904, the storage device 906,or memory on processor 902.

The high speed controller 908 manages bandwidth-intensive operations forthe computing device 900, while the low speed controller 912 manageslower bandwidth-intensive operations. Such allocation of functions isexemplary only. In one implementation, the high-speed controller 908 iscoupled to memory 904, display 916 (e.g., through a graphics processoror accelerator), and to high-speed expansion ports 98, which may acceptvarious expansion cards (not shown). In the implementation, low-speedcontroller 912 is coupled to storage device 906 and low-speed expansionport 914. The low-speed expansion port, which may include variouscommunication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet)may be coupled to one or more input/output devices, such as a keyboard,a pointing device, a scanner, or a networking device such as a switch orrouter, e.g., through a network adapter.

The computing device 900 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as astandard server 920, or multiple times in a group of such servers. Itmay also be implemented as part of a rack server system 924. Inaddition, it may be implemented in a personal computer such as a laptopcomputer 922. Alternatively, components from computing device 900 may becombined with other components in a mobile device (not shown), such asdevice 950. Each of such devices may contain one or more of computingdevice 900, 950, and an entire system may be made up of multiplecomputing devices 900, 950 communicating with each other.

Computing device 950 includes a processor 952, memory 964, aninput/output device such as a display 954, a communication interface966, and a transceiver 968, among other components. The device 950 mayalso be provided with a storage device, such as a microdrive or otherdevice, to provide additional storage. Each of the components 950, 952,964, 954, 966, and 968, are interconnected using various buses, andseveral of the components may be mounted on a common motherboard or inother manners as appropriate.

The processor 952 can execute instructions within the computing device950, including instructions stored in the memory 964. The processor maybe implemented as a chipset of chips that include separate and multipleanalog and digital processors. Additionally, the processor may beimplemented using any of a number of appropriate architectures. Forexample, the processor 48 may be a CISC (Complex Instruction SetComputers) processor, a RISC (Reduced Instruction Set Computer)processor, or a MISC (Minimal Instruction Set Computer) processor. Theprocessor may provide, for example, for coordination of the othercomponents of the device 950, such as control of user interfaces,applications run by device 950, and wireless communication by device950.

Processor 952 may communicate with a user through control interface 958and display interface 956 coupled to a display 954. The display 954 maybe, for example, a TFT (Thin-Film-Transistor Liquid Crystal Display)display or an OLED (Organic Light Emitting Diode) display, or otherappropriate display technology. The display interface 956 may compriseappropriate circuitry for driving the display 954 to present graphicaland other information to a user. The control interface 958 may receivecommands from a user and convert them for submission to the processor952. In addition, an external interface 962 may be provide incommunication with processor 952, so as to enable near areacommunication of device 950 with other devices. External interface 962may provide, for example, for wired communication in someimplementations, or for wireless communication in other implementations,and multiple interfaces may also be used.

The memory 964 stores information within the computing device 950. Thememory 964 can be implemented as one or more of a computer-readablemedium or media, a volatile memory unit or units, or a non-volatilememory unit or units. Expansion memory 974 may also be provided andconnected to device 950 through expansion interface 972, which mayinclude, for example, a SIMM (Single In Line Memory Module) cardinterface. Such expansion memory 974 may provide extra storage space fordevice 950, or may also store applications or other information fordevice 950. Specifically, expansion memory 974 may include instructionsto carry out or supplement the processes described above, and mayinclude secure information also. Thus, for example, expansion memory 974may be provide as a security module for device 950, and may beprogrammed with instructions that permit secure use of device 950. Inaddition, secure applications may be provided via the SIMM cards, alongwith additional information, such as placing identifying information onthe SIMM card in a non-hackable manner.

The memory may include, for example, flash memory and/or NVRAM memory,as discussed below. In one implementation, a computer program product istangibly embodied in an information carrier. The computer programproduct contains instructions that, when executed, perform one or moremethods, such as those described above. The information carrier is acomputer- or machine-readable medium, such as the memory 964, expansionmemory 974, or memory on processor 952 that may be received, forexample, over transceiver 968 or external interface 962.

Device 950 may communicate wirelessly through communication interface966, which may include digital signal processing circuitry wherenecessary. Communication interface 966 may provide for communicationsunder various modes or protocols, such as GSM voice calls, SMS, EMS, orMMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others.Such communication may occur, for example, through radio-frequencytransceiver 968. In addition, short-range communication may occur, suchas using a Bluetooth, WiFi, or other such transceiver (not shown). Inaddition, GPS (Global Positioning System) receiver module 970 mayprovide additional navigation- and location-related wireless data todevice 950, which may be used as appropriate by applications running ondevice 950.

Device 950 may also communicate audibly using audio codec 960, which mayreceive spoken information from a user and convert it to usable digitalinformation. Audio codec 960 may likewise generate audible sound for auser, such as through a speaker, e.g., in a handset of device 950. Suchsound may include sound from voice telephone calls, may include recordedsound (e.g., voice messages, music files, etc.) and may also includesound generated by applications operating on device 950.

The computing device 950 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as acellular telephone 980. It may also be implemented as part of asmartphone 982, personal digital assistant, or other similar mobiledevice.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium”“computer-readable medium” refers to any appropriate computer programproduct, apparatus and/or device (e.g., magnetic discs, optical disks,memory, Programmable Logic Devices (PLDs)) used to provide machineinstructions and/or data to a programmable processor, including amachine-readable medium that receives machine instructions as amachine-readable signal. The term “machine-readable signal” refers toany appropriate signal used to provide machine instructions and/or datato a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any appropriate form of sensory feedback (e.g., visualfeedback, auditory feedback, or tactile feedback); and input from theuser can be received in any appropriate form, including acoustic,speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any appropriate combination of such back end,middleware, or front end components. The components of the system can beinterconnected by any appropriate form or medium of digital datacommunication (e.g., a communication network). Examples of communicationnetworks include a local area network (“LAN”), a wide area network(“WAN”), peer-to-peer networks (having ad-hoc or static members), gridcomputing infrastructures, and the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

Although a few implementations have been described in detail above,other modifications are possible. Moreover, other mechanisms forrecommending posts in a messaging service to users that do not subscribeto an author of the post and scoring authors of posts may be used. Inaddition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. Other steps may be provided, or steps may be eliminated, fromthe described flows, and other components may be added to, or removedfrom, the described systems. Accordingly, other implementations arewithin the scope of the following claims.

1. A system comprising: one or more computers; and a computer-readablemedium coupled to the one or more computers having instructions storedthereon which, when executed by the one or more computers, cause the oneor more computers to perform operations comprising: determining that auser has submitted a question to be viewed by trusted participants of anonline conversation, wherein the trusted participants include the user,one or more advertisers and one or more social network friends of theuser; obtaining a reply to the question from one of the trustedparticipants; and providing the reply to the trusted participants.